/*******************************************************************************
 * Copyright (c) 2000, 2003 FUJITSU LIMITED and others.
 * All rights reserved. This program and the accompanying materials 
 * are made available under the terms of the Common Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/cpl-v10.html
 * 
 * Contributors:
 *     FUJITSU LIMITED - initial implementation
 *******************************************************************************/

package org.eclipse.cobol.ui.common;

public class COBOLKeywordCodasyl88
{

	public static String getName()
	{
		return "CODASYL 1988";
	}

	public static String[] getReservedWords()
	{
		return RESERVED_WORDS;
	}

	public static String[] getFigurativeConstants()
	{
		return FIGURATIVE_CONSTANTS;
	}

	public static String[] getSpecialRegisters()
	{
		return SPECIAL_REGISTERS;
	}

	private static final String[] FIGURATIVE_CONSTANTS =
	{ "ALL", "LOW-VALUE", "LOW-VALUES", "HIGH-VALUE", "HIGH-VALUES", "SPACE", "SPACES", "QUOTE", "QUOTES", "ZERO",
			"ZEROS", "ZEROES" };

	private static final String[] SPECIAL_REGISTERS =
	{ "LINAGE-COUNTER", "LINE-COUNTER", "PAGE-COUNTER" };

	private static final String[] RESERVED_WORDS =
	{ "ACCEPT", "ACCESS", "ADD", "ADVANCING", "AFTER", "ALL", "ALPHABET", "ALPHABETIC", "ALPHABETIC-LOWER",
			"ALPHABETIC-UPPER", "ALPHANUMERIC", "ALPHANUMERIC-EDITED", "ALSO", "ALTERNATE", "AND", "ANY", "ARE",
			"AREA", "AREAS", "ARITHMETIC", "ASCENDING", "ASSIGN", "AT", "B-AND", "B-EXOR", "B-LESS", "B-NOT", "B-OR",
			"BEFORE", "BINARY", "BIT", "BITS", "BLANK", "BLOCK", "BOOLEAN", "BOTTOM", "BY", "CALL", "CANCEL", "CD",
			"CF", "CH", "CHARACTER", "CHARACTERS", "CLASS", "CLOSE", "CODE", "CODE-SET", "COLLATING", "COLUMN",
			"COMMA", "COMMIT", "COMMON", "COMMUNICATION", "COMP", "COMPUTATIONAL", "COMPUTE", "CONFIGURATION",
			"CONNECT", "CONTAINED", "CONTAINS", "CONTENT", "CONTINUE", "CONTROL", "CONTROLS", "CONVERTING", "COPY",
			"COUNT", "CURRENCY", "CURRENT", "DATA", "DATE", "DAY", "DAY-OF-WEEK", "DB", "DB-ACCESS-CONTROL-KEY",
			"DB-DATA-NAME", "DB-EXCEPTION", "DB-RECORD-NAME", "DB-SET-NAME", "DB-STATUS", "DE", "DEBUGGING",
			"DECIMAL-POINT", "DECLARATIVES", "DEFAULT", "DELETE", "DELIMITED", "DELIMITER", "DEPENDING", "DESCENDING",
			"DESTINATION", "DETAIL", "DISABLE", "DISCONNECT", "DISPLAY", "DIVIDE", "DIVISION", "DOWN", "DUPLICATE",
			"DUPLICATES", "DYNAMIC", "EGI", "ELSE", "EMI", "EMPTY", "ENABLE", "END", "END-ADD", "END-CALL",
			"END-COMPUTE", "END-DELETE", "END-DIVIDE", "END-EVALUATE", "END-IF", "END-MULTIPLY", "END-OF-PAGE",
			"END-PERFORM", "END-READ", "END-RECEIVE", "END-RETURN", "END-REWRITE", "END-SEARCH", "END-START",
			"END-STRING", "END-SUBTRACT", "END-UNSTRING", "END-WRITE", "ENVIRONMENT", "EOP", "EQUAL", "EQUALS",
			"ERASE", "ERROR", "ESI", "EVALUATE", "EXCEEDS", "EXCEPTION", "EXCLUSIVE", "EXIT", "EXTEND", "EXTERNAL",
			"FALSE", "FD", "FETCH", "FILE", "FILE-CONTROL", "FILLER", "FINAL", "FIND", "FINISH", "FIRST", "FOOTING",
			"FOR", "FORMAT", "FREE", "FROM", "FUNCTION", "GENERATE", "GET", "GIVING", "GLOBAL", "GO", "GREATER",
			"GROUP", "HEADING", "HIGH-VALUE", "HIGH-VALUES", "I-O", "I-O-CONTROL", "IDENTIFICATION", "IF", "IN",
			"INDEX", "INDEXED", "INDICATE", "INITIAL", "INITIALIZE", "INITIATE", "INPUT", "INPUT-OUTPUT", "INSPECT",
			"INTO", "INVALID", "IS", "JUST", "JUSTIFIED", "KEEP", "KEY", "LAST", "LD", "LEADING", "LENGTH", "LESS",
			"LIMIT", "LIMITS", "LINAGE", "LINAGE-COUNTER", "LINE", "LINE-COUNTER", "LINES", "LINKAGE", "LOCALLY",
			"LOCK", "LOW-VALUE", "LOW-VALUES", "MEMBER", "MERGE", "MESSAGE", "MODE", "MODIFY", "MOVE", "MULTIPLE",
			"MULTIPLY", "NATIVE", "NEGATIVE", "NEXT", "NO", "NOT", "NULL", "NUMBER", "NUMERIC", "NUMERIC-EDITED",
			"OBJECT-COMPUTER", "OCCURS", "OF", "ON", "ONLY", "OPEN", "OPTIONAL", "OR", "ORDER", "ORGANIZATION",
			"OTHER", "OUTPUT", "OVERFLOW", "OWNER", "PACKED-DECIMAL", "PADDING", "PAGE", "PAGE-COUNTER", "PERFORM",
			"PF", "PH", "PIC", "PICTURE", "PLUS", "POINTER", "POSITION", "POSITIVE", "PRESENT", "PRINTING", "PRIOR",
			"PROCEDURE", "PROGRAM", "PROGRAM-ID", "PROTECTED", "PURGE", "QUEUE", "QUOTE", "QUOTES", "RANDOM", "RD",
			"READ", "READY", "REALM", "RECEIVE", "RECONNECT", "RECORD", "RECORD-NAME", "RECORDS", "REDEFINES", "REEL",
			"REFERENCE", "RELATION", "RELATIVE", "RELEASE", "REMAINDER", "REMOVAL", "RENAMES", "REPEATED", "REPLACE",
			"REPLACING", "REPORT", "REPORTING", "REPORTS", "RESERVE", "RESET", "RETAINING", "RETRIEVAL", "RETURN",
			"REWIND", "REWRITE", "RF", "RH", "RIGHT", "ROLLBACK", "ROUNDED", "RUN", "SAME", "SD", "SEARCH", "SECTION",
			"SEGMENT", "SELECT", "SEND", "SENTENCE", "SEPARATE", "SEQUENCE", "SEQUENTIAL", "SESSION", "SET", "SHARED",
			"SIGN", "SIZE", "SORT", "SORT-MERGE", "SOURCE", "SOURCE-COMPUTER", "SPACE", "SPACES", "SPECIAL-NAMES",
			"STANDARD", "STANDARD-1", "STANDARD-2", "START", "STATUS", "STOP", "STORE", "STRING", "SUB-QUEUE-1",
			"SUB-QUEUE-2", "SUB-QUEUE-3", "SUB-SCHEMA", "SUBTRACT", "SUM", "SUPPRESS", "SYMBOLIC", "TABLE", "TALLYING",
			"TAPE", "TERMINAL", "TERMINATE", "TEST", "TEXT", "THAN", "THEN", "THROUGH", "THRU", "TIME", "TIMES", "TO",
			"TOP", "TRAILING", "TRUE", "TYPE", "UNEQUAL", "UNIT", "UNSTRING", "UNTIL", "UP", "UPDATE", "UPON", "USAGE",
			"USAGE-MODE", "USE", "USING", "VALID", "VALIDATE", "VALUE", "VALUES", "VARYING", "WAIT", "WHEN", "WITH",
			"WITHIN", "WORKING-STORAGE", "WRITE", "ZERO", "ZEROES", "ZEROS" };
}
